import ApiService from "@/utils/axios-config";

class ExamService {

    // 查询竞赛列表
    getExamList(examQueryDTO) {
        return ApiService.get("/exam/semiLogin/redis/list", { params: examQueryDTO });
    }

    // 查询竞赛排名列表
    getRankList(examRankDTO) {
        return ApiService.get("/exam/rank/list", { params: examRankDTO });
    }

    // 获取竞赛的第一个题目ID
    getFirstQuestion(examId) {
        return ApiService.get("/exam/getFirstQuestion", { params: { examId } });
    }

    // 获取当前题目的上一个题目ID
    preQuestion(examId, questionId) {
        return ApiService.get("/exam/preQuestion", { params: { examId, questionId } });
    }

    // 获取当前题目的下一个题目ID
    nextQuestion(examId, questionId) {
        return ApiService.get("/exam/nextQuestion", { params: { examId, questionId } });
    }

    // 用户参与竞赛
    enterExam(examDTO) {
        return ApiService.post("/user/exam/enter", examDTO); // 直接传递 examDTO
    }

    // 查询用户竞赛列表
    getUserExamList(examQueryDTO) {
        return ApiService.get("/user/exam/list", { params: examQueryDTO });
    }
}

// 导出实例化的 ExamService 类
export default new ExamService();